import java.util.HashMap;
import java.util.Map;

public class FirstUniqChar {
    /**
     * 在字符串 s 中找出第一个只出现一次的字符。
     * 如果没有，返回一个单空格。 s 只包含小写字母。
     * @param s
     * @return
     */
    public char firstUniqChar(String s) {
         if(s.length()==0)
             return ' ';
         boolean[] flags = new boolean[s.length()];
         Map<Character,Integer> map = new HashMap<Character,Integer>();
         for (int i=0;i<s.length();i++){
             if (map.containsKey(s.charAt(i))){
                 flags[i] =true;
                 flags[map.get(s.charAt(i))]=true;
             }else {
                 map.put(s.charAt(i),i);
             }
         }
         for (int i=0;i<flags.length;i++){
             if (!flags[i]){
                 return s.charAt(i);
             }
         }
         return ' ';
    }
}
